import Vue from "vue";
import axios from "axios";
import { getCookie } from "@/utils/cookie";

const instance = axios.create({
  // 配置公共请求地址
  baseURL: "",
  // 配置请求时长(当请求超过该时间,则自动中断请求)
  timeout: 5000,
  // 配置请求头(只针对post,请求有效)
  headers: { "Content-Type": "application/json" },
});

// 添加一个请求拦截器
// 登录存放token的地方
instance.interceptors.request.use((config) => {
  // 一般在请求发送前，设置请求头，给请求头添加token
  config.headers["token"] = getCookie("token");
  return config;
});

// 添加一个响应拦截器
instance.interceptors.response.use((res) => {
  // console.log(res);
  //全局错误提示
  if (res.status === 200 || res.data.code == 200) {
    return res.data;
  } else {
    Vue.prototype.$message({
      message: "请求失败",
      type: "error",
    });
  }
});

// 导出instance(封装后的axios)
export default instance;
